﻿using System.Linq;
using System;

namespace iss.sg4210.se18.team6s.jass.DAL.DataAccess.Interfaces
{
    public interface IResponse
    {
        IQueryable<Response> FindAllResponses();
        IQueryable<Response> FindAllResponsesByUser(Guid userId);
        Response GetResponse(int responseId);
        void AddResponse(Response response);
        void UpdateResponse(Response response);
        void DeleteResponse(int responseId);
    }

    public interface IResponseActions
    {
        IQueryable<ResponseAction> FindAllResponseActions();
        ResponseAction GetResponseAction(int responseActionId);
        void AddResponseAction(ResponseAction responseAction);
        void UpdateResponseAction(ResponseAction responseAction);
        void DeleteResponseAction(int responseActionId);
    }

    public interface IActions
    {
        IQueryable<Action> FindAllActions();
        Action GetAction(int actionId);
        void AddAction(Action action);
        void UpdateAction(Action action);
        void DeleteAction(int actionId);
    }

    public interface IAddresses
    {
        IQueryable<Address> FindAllAddresses();
        Address GetAddress(int addressId);
        void AddAddress(Address address);
        void UpdateAddress(Address address);
        void DeleteAddress(int addressId);
    }
}
